Each time Dyalog starts it loads and executes an initialisation file whose name is defined by the DyalogStartup parameter. If this is undefined, the default file is named startup.dyalog in the Dyalog directory. Among other tasks, the code defined in startup.dyalog also performs Session initialisation.
Code to be installed in ⎕SE is specified in APL source code files contained in Session initialisation directories identified by the DyalogStartupSE parameter. If this parameter is not specified, the default is a directory named StartupSession located in three standard locations as described below.
Only content stored in files matching the wildcard patterns *.dyalog and *.apl? will be loaded. All such files must be appropriate for ⎕FIX.
For each sub-directory in a Session initialisation directory, a corresponding namespace is created in ⎕SE, and any source code files in these sub-directories will be fixed in their respective corresponding namespaces. There is currently no support for additional subdirectories inside these subdirectories, although this feature is planned.
The Session initialisation directories are processed in order and code defined in each directory will replace code with the same name defined previously. In effect, this means that user-supplied content can replace content supplied by Dyalog Ltd. and version-specific content can replace version-agnostic content.
If the DyalogStartupSE parameter is undefined, APL looks for Session initialisation directories named StartupSession in the following three locations, and processes them in that order:
Under Windows these might be:
The version-specific name is :
Dyalog APL{bit} {version} {edition}
where: